#include <stdio.h>

// 一维的数组名可以赋给一级指针。

// 二维的数组名可赋给二级指针，是瞎扯的。

// 数组名能干的，指针就能干，数组名不能干的，指针也能干。

int main()
{

    int arr[10] = {1,2,3,4,5,6,7,8,9,10};

// 数组访问的第一种方法 偏移法 即本质法
//    for (int i = 0;i <10;i++)
//    {
//        printf("%d\n",*(arr+i));
//    }

// 数组访问 下标法
//    for (int i = 0;i <10;i++)
//    {
//        printf("%d\n",arr[i]);
//    }

// 数组名是常量指针/指针常量，方可唯一的表示一个数组。数组名是数组的唯一标识符，定数组。
    printf("arr     = %p\n",arr);
    printf("arr + 1 = %p\n",arr + 1);

    printf("&arr[0]     = %p\n",&arr[0]);
    printf("&arr[0] + 1 = %p\n",&arr[0] + 1);
// &arr[0] == arr 在一定程度上是等价。 int *

    int *pa = &arr[0];
    int *pb = arr;

    return 0;
}
